四参和七参转换,转换坐标没有什么问题,我附录了一些坐标信息检验,不过七参数的数值有些问题,不知道是哪里有些错误,希望大家指正,下面是完整代码:
在这里插入代码片
```import numpy as np
from numpy import linalg
def four():
def four_number(x1,x2,x3,x4,xx1,xx2,xx3):
"""由三个共同点求两个不同平面直角坐标系的坐标转换"""
def caculate_four(x4,old,new):
"""计算新坐标"""
mid=new-old
A_=np.array([[1,0,x4[0],-x4[1]],
[0,1,x4[1],x4[0]]])
old_=np.array([[x4[0]],
[x4[1]]])
xxx=linalg.lstsq(A,mid,rcond=-1)
v=np.dot(A_,xxx[0])
new_=old_+v
return new_
A=np.array([[1.0,0,x1[0],-x1[1]],
[0,1.0,x1[1], x1[0]],
[1.0,0,x2[0],-x2[1]],
[0,1.0,x2[1], x2[0]],
[1.0,0,x3[0],-x3[1]],
<